package fr.miage.orleans.aar.modele.valueobject;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;

import fr.miage.orleans.aar.modele.Equipe;
import fr.miage.orleans.aar.modele.EquipeTournoi;
import fr.miage.orleans.aar.modele.EtatMatchTour;
import fr.miage.orleans.aar.modele.Joueur;
import fr.miage.orleans.aar.modele.MatchTour;

public class ValueObjectEquipeDetail {
	
	private int id;
	private String nom;
	private int nbVictoires;
	private int nbDefaites;

	public int getId() {
		return id;
	}


	public void setId(int id) {
		this.id = id;
	}


	public String getNom() {
		return nom;
	}


	public void setNom(String nom) {
		this.nom = nom;
	}


	public List<ValueObjectJoueur> getListeJoueur() {
		return listeJoueur;
	}


	public void setListeJoueur(List<ValueObjectJoueur> listeJoueur) {
		this.listeJoueur = listeJoueur;
	}


	public List<ValueObjectTournoi> getTournois() {
		return tournois;
	}


	public void setTournois(List<ValueObjectTournoi> tournois) {
		this.tournois = tournois;
	}


	private List<ValueObjectJoueur> listeJoueur;
	
	private List<ValueObjectTournoi> tournois;
	

	public ValueObjectEquipeDetail(Equipe e){
    	this.id=e.getEquipeId();
    	this.nom = e.getNom();
    	tournois = new ArrayList<>();
    	for(EquipeTournoi et : e.getEquipesTournoi()){
    		tournois.add(new ValueObjectTournoi(et));
    	}
    	
    	listeJoueur = new ArrayList<>();
    	for(Joueur j : e.getJoueurs()){
    		listeJoueur.add(new ValueObjectJoueur(j));
    	}
    	
    	
    	for(MatchTour mt : e.getMatchToursA()){
    		if (mt.getEtatMatch() == EtatMatchTour.TERMINE_A_GAGNE){
    			this.nbVictoires++;
    		}
    		if (mt.getEtatMatch() == EtatMatchTour.TERMINE_B_GAGNE){
    			this.nbDefaites++;
    		}
       	}
    	for(MatchTour mt : e.getMatchToursB()){
    		if (mt.getEtatMatch() == EtatMatchTour.TERMINE_A_GAGNE){
    			this.nbDefaites++;
    		}
    		if (mt.getEtatMatch() == EtatMatchTour.TERMINE_B_GAGNE){
    			this.nbVictoires++;
    		}
       	}    	
    }


	public int getNbVictoires() {
		return nbVictoires;
	}


	public void setNbVictoires(int nbVictoires) {
		this.nbVictoires = nbVictoires;
	}


	public int getNbDefaites() {
		return nbDefaites;
	}


	public void setNbDefaites(int nbDefaites) {
		this.nbDefaites = nbDefaites;
	}
}
